package br.gov.dataprev.treinamento.ws.impl;

import javax.jws.WebService;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import br.gov.dataprev.treinamento.ejb.excecao.ExcecaoNegocio;
import br.gov.dataprev.treinamento.ejb.modelo.Produto;
import br.gov.dataprev.treinamento.ejb.service.local.ProdutoServiceLocal;

@WebService(targetNamespace = "http://dataprev.gov.br/Produto", serviceName = "ProdutoService", endpointInterface = "br.gov.dataprev.treinamento.ws.ProdutoWs")
public class ProdutoWsImpl {

	private ProdutoServiceLocal getProdutoService() throws NamingException {

		Context ctx = new InitialContext();

		return (ProdutoServiceLocal) ctx.lookup("java:global/LojaEar/LojaEjb/ProdutoServiceImpl!br.gov.dataprev.treinamento.ejb.service.local.ProdutoServiceLocal");
	}

	public Produto inserirProduto(Produto produto) throws ExcecaoNegocio {
		try {
			return getProdutoService().incluir(produto);
		} catch (Exception ex) {
			throw new ExcecaoNegocio(ex);
		}
	}

	public Produto alterarProduto(Produto produto) throws ExcecaoNegocio {
		try {
			return getProdutoService().alterar(produto);
		} catch (Exception ex) {
			throw new ExcecaoNegocio(ex);
		}
	}

	public Produto excluirProduto(Produto produto) throws ExcecaoNegocio {
		try {
			return getProdutoService().excluir(produto);
		} catch (Exception ex) {
			throw new ExcecaoNegocio(ex);
		}
	}
	
	
}
